草庐IT

c++ - 切片 std::array

全部标签

java - Eclipse 切片工具

有谁知道是否有任何用于eclipse的开源工具可以根据MarkWeiser(http://en.wikipedia.org/wiki/Program_slicing)概述的切片技术生成静态程序切片?我似乎只能找到JSlice,它只适用于Fedora。任何关于我如何解决这个问题的建议(以及现有的库,或Java的示例算法)都会很棒。 最佳答案 免责声明:我没有尝试过下面列出的工具。Indus.它似乎通过Kaveriplugin使自己变得有用在Eclipse中。值得注意的是,除了JSlice和Indus之外,似乎没有其他已知的Java代码

java - JNA C DLL 调试方法?

我有一个DLL,它接受编码字符串输入并对其进行解码。DLL是使用Codeblocks和mingw64在Win764位上制作的。C代码单独运行良好,但是当我在while循环中使用相同的字符串通过JNA运行它时,它被正确解码了大约70%的调用,而其余的则不正确。我想调试这种情况,但我不确定在Java代码将控制权移交给JNA之后该怎么做。或者,任何关于在哪里查看的想法也会有所帮助。C和JNA中的方法签名如下,Java:intDecrypt_Blk(byte[]expkey,byte[]in,intsize,byte[]out);C:__declspec(dllexport)intDecryp

java - 使用C++编写的Java读取共享内存数据

我有一个C/C++应用程序,它在Unix的共享内存中写入数据。现在我想通过使用Java的程序读取共享内存数据。程序应该读取共享内存数据。有可能吗?如果可能,需要一个小的实现。 最佳答案 看看thiscodeproject项目(对于Windows):UsingMemoryMappedFilesandJNItocommunicatebetweenJavaandC++programs或者,this图书馆:CLIPCisanopen-sourceJavalibrarythatgivesdevelopersinterprocesscommun

java - 在 C 中嵌入 Java 库

我将编写一个Java服务器/客户端应用程序,其中客户端并不是真正的客户端(它没有主程序),而是一个库。另外,我要开发一个C模块(fusedriver),需要和服务端交互,所以需要调用客户端的函数。我创建了许多从Java应用程序调用C函数的示例,但没有一个是我需要的。你能给我一个建议或一些提示吗?编辑因为有人不明白我需要什么,我想说得更清楚:我有一个服务器,程序只能使用用Java编写的库与之交互。真正的客户端是用C写的,它必须能够调用库的函数,所以在C中我必须调用java方法 最佳答案 基本上有两种方法可以链接C和Java代码;JNA

java - Zlib Java 与 C 的基准测试

我试图通过切换到C来加速我最初用Java编写的TIFF编码器并编译了Zlib1.2.8定义了Z_SOLO和最小C文件集:adler32.c、crc32.c、deflate.c、trees.c和zutil.c。Java正在使用java.util.zip.Deflater.我编写了一个简单的测试程序来评估压缩级别和速度方面的性能,但我感到困惑的是,无论我需要什么级别,考虑到更高级别所需的时间越来越长,压缩并没有那么多。我还惊讶于Java实际上在压缩和速度方面比VisualStudio发布编译(VC2010)表现得更好:Java:Level1:8424865=>6215200(73,8%)i

java - 是否有可能在 O(1) 中得到 m 个字符长度组合的第 k 个元素?

你知道在O(1)中得到m元素组合的第k个元素的方法吗?预期的解决方案应适用于任何大小的输入数据和任何m值。让我通过例子(python代码)来解释这个问题:>>>importitertools>>>data=['a','b','c','d']>>>k=2>>>m=3>>>result=[''.join(el)forelinitertools.combinations(data,m)]>>>printresult['abc','abd','acd','bcd']>>>printresult[k-1]abd对于给定的数据,m元素组合的第k个(本例中为第2个)元素是abd。是否可以在不创建整个

java - 为什么典型的 Array List 实现不是双端的?

为什么ArrayList通常不实现为双端的,这将支持在前面和后面的快速分摊插入?使用后者比使用前者有缺点吗?(我不只是在谈论Java——我还没有看到双端数组列表是任何其他语言的默认设置,但Java在这里只是一个很好的例子。)*编辑:我最初称它们为“arraydeques”,但这是我的误解;我不是在谈论队列,而是双端数组列表。 最佳答案 ArrayList很简单;条目从0开始,您可以在末尾添加内容(这可能会延长数组),但列表中的条目#X始终是backing_array[X]。ArrayDeque会更复杂;除了必须跟踪序列的开始(因为它

c# - Java 版本的 c# Array.Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length)

我正在尝试将一些C#代码转换为Java,我遇到了一行调用此方法的代码:Array.Copy(frames[row],0,concatenated,row*frames[row].Length,frames[row].Length);C#方法的签名如下所示:Array.Copy(ArraysourceArray,intsourceIndex,ArraydestinationArray,intdestinationIndex,intlength)我正试图找到在Java中做同样事情的方法,但不幸的是。我如何在Java中模仿相同的行为? 最佳答案

java - C 和 Java 中 PreIncrement 和 PostIncrement 运算符的行为

这个问题在这里已经有了答案:Whyaretheseconstructsusingpreandpost-incrementundefinedbehavior?(14个答案)关闭9年前。我正在VisualC++和Java中运行以下程序:VisualC++voidmain(){inti=1,j;j=i+++i+++++i;printf("%d\n",j);}输出:6Java:publicclassIncrement{publicstaticvoidmain(String[]args){inti=1,j;j=i+++i+++++i;System.out.println(j);}}输出:7为什么

java - 错误 : can only iterate over an array or an instance of java. lang.Iterable

请帮助我解决我的错误似乎无法使其工作,因为它只能迭代数组或java.lang.Iterable的实例。我想创建一个条形码并读取它并将其添加到word文档中更新帖子nodeCollection来自com.aspose.words。importcom.aspose.barcode.*;importcom.aspose.barcoderecognition.BarCodeReadType;importcom.aspose.barcoderecognition.BarCodeReader;importcom.aspose.words.Document;importcom.aspose.word